package com.maezia.tdr.domain.dto;

import com.maezia.tdr.common.annotation.DateTimeFormat;
import com.maezia.tdr.common.annotation.NotNull;
import com.maezia.tdr.common.enums.CheckDateEnum;
import com.maezia.tdr.common.enums.StatusCodeEnum;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

@ApiModel("试驾数据接口入参对象")
@Data
public class ReportInfoDto {

    @ApiModelProperty(value = "应用标识", hidden=true)
    private String appKey;

    @ApiModelProperty("汽车VEHICLE_ID")
    @NotNull(type = StatusCodeEnum.VEHICLE_ID_NOT_NULL)
    private String vehicleId;

    @ApiModelProperty("授权状态：[true/false]")
    @NotNull(type = StatusCodeEnum.CONSENT_IS_NULL)
    private String consentState;

    @ApiModelProperty("开始时间格式不正确，格式为(UTC时间)[yyyy-MM-ddTHH:mm:ssZ]")
    @DateTimeFormat(message="开始时间格式不正确，格式为(UTC时间)[yyyy-MM-ddTHH:mm:ssZ]。EX:2023-10-26T08:25:17Z",
            pattern = "yyyy-MM-dd'T'HH:mm:ssZ", type = CheckDateEnum.START)
    private String startTime;

    @ApiModelProperty("结束时间格式不正确，格式为(UTC时间)[yyyy-MM-ddTHH:mm:ssZ]")
    @DateTimeFormat(message="结束时间格式不正确，格式为(UTC时间)[yyyy-MM-ddTHH:mm:ssZ]。EX:2023-10-26T08:25:17Z",
            pattern = "yyyy-MM-dd'T'HH:mm:ssZ", type = CheckDateEnum.END)
    private String endTime;
}
